package com.bblocks.sms.service;

import com.bblocks.common.Constant;
import com.bblocks.enums.CodeTypeEnum;
import com.bblocks.enums.SysEnum;
import com.bblocks.util.R;
import lombok.NonNull;
import org.dromara.sms4j.provider.enumerate.SupplierType;

import java.util.concurrent.TimeUnit;

/**
 * <p>Project: bblocks-pro - SmsCheckCodeService</p>
 * <p>描述：验证码服务</p>
 *
 * @Author Zhao [125043150@qq.com]
 * @Date 2023/9/15 10:21
 * @Version 1.0
 * @since 8
 */
public interface SmsCheckCodeService {

    /**
     * 发送验证码
     * @param phone
     * @param msgCode
     * @param type 类型
     * @param time 有效时间（s），为空则默认值
     * @return
     */
    SysEnum sendCode(@NonNull String phone, @NonNull String msgCode, @NonNull CodeTypeEnum type, Integer time);

    /**
     * 验证码校验
     * @param phone
     * @param msgCode
     * @param type
     * @param failCLean 失败了是否要清楚校验码
     * @return
     */
    SysEnum chkCode(@NonNull String phone, @NonNull String msgCode, @NonNull CodeTypeEnum type, boolean failCLean);
}
